Currently, data storage solutions implemented via data centers, such as those using direct attached storage (DAS) or networked storage (i.e., central storage or distributed storage), are known to have limitations or challenges. For example, these challenges may range from scalability, reliability, performance and deduplication to management, cost and other issues. When data storage solutions are implemented in a distributed virtual infrastructure, there are additional challenges.
As is known, main elements of a virtual distributed infrastructure, also known as a cloud infrastructure, include components known as “virtual machines” and “hypervisors.” Virtual machines are logical processing elements that may be instantiated on one or more physical processing elements (e.g., servers, computers, processing devices). That is, a virtual machine may be considered a software implementation of a physical machine (i.e., a computer) that is able to execute programs in a manner functionally similar to program execution on a physical machine. Thus, different virtual machines can run different operating systems and multiple applications on the same physical computer. Virtualization is realized via the use of a hypervisor, which is a software component directly inserted on top of the computer hardware and used to allocate hardware resources of the physical computer in a dynamic and transparent manner. It is the hypervisor that enables multiple operating systems to run concurrently on a single physical computer and share hardware resources with each other.
Accordingly, in a data center implemented in a distributed virtual infrastructure that provides processing and/or storage solutions for clients, hundreds of thousands of virtual machines may need to be provisioned simultaneously or at least within a very short time frame. While this is a common challenge for the data center, it is understood to be a nontrivial task. Thus, there is a need to provide improved techniques for the task of provisioning virtual machines, particularly in a data storage environment.